﻿namespace TestTool.Proxies.Onvif
{
    using System;
    using System.CodeDom.Compiler;
    using System.ComponentModel;
    using System.Diagnostics;
    using System.Xml;
    using System.Xml.Serialization;

    [Serializable, GeneratedCode("svcutil", "3.0.4506.2152"), DesignerCategory("code"), XmlType(Namespace="http://www.onvif.org/ver10/schema"), DebuggerStepThrough]
    public class VideoOutput : DeviceEntity
    {
        private XmlAttribute[] anyAttrField;
        private float aspectRatioField;
        private bool aspectRatioFieldSpecified;
        private VideoOutputExtension extensionField;
        private TestTool.Proxies.Onvif.Layout layoutField;
        private float refreshRateField;
        private bool refreshRateFieldSpecified;
        private VideoResolution resolutionField;

        [XmlAnyAttribute]
        public XmlAttribute[] AnyAttr
        {
            get
            {
                return this.anyAttrField;
            }
            set
            {
                this.anyAttrField = value;
            }
        }

        [XmlElement(Order=3)]
        public float AspectRatio
        {
            get
            {
                return this.aspectRatioField;
            }
            set
            {
                this.aspectRatioField = value;
            }
        }

        [XmlIgnore]
        public bool AspectRatioSpecified
        {
            get
            {
                return this.aspectRatioFieldSpecified;
            }
            set
            {
                this.aspectRatioFieldSpecified = value;
            }
        }

        [XmlElement(Order=4)]
        public VideoOutputExtension Extension
        {
            get
            {
                return this.extensionField;
            }
            set
            {
                this.extensionField = value;
            }
        }

        [XmlElement(Order=0)]
        public TestTool.Proxies.Onvif.Layout Layout
        {
            get
            {
                return this.layoutField;
            }
            set
            {
                this.layoutField = value;
            }
        }

        [XmlElement(Order=2)]
        public float RefreshRate
        {
            get
            {
                return this.refreshRateField;
            }
            set
            {
                this.refreshRateField = value;
            }
        }

        [XmlIgnore]
        public bool RefreshRateSpecified
        {
            get
            {
                return this.refreshRateFieldSpecified;
            }
            set
            {
                this.refreshRateFieldSpecified = value;
            }
        }

        [XmlElement(Order=1)]
        public VideoResolution Resolution
        {
            get
            {
                return this.resolutionField;
            }
            set
            {
                this.resolutionField = value;
            }
        }
    }
}

